home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / bbsutils / smb_110a.arj / SMB.HST < prev    next >
Text File  |  1994-03-28  |  5KB  |  105 lines

  1. Synchronet Message Base Specification Modification History
  2. ==========================================================
  3.  
  4. ******************************
  5. 01/20/94 Initial Release v1.00
  6. ******************************
  7.  
  8. Quite a few spelling errors in SMB.TXT corrected.
  9.  
  10. Estimated maximum number of messages (in Introduction of SMB.TXT) formula
  11. corrected (1500 rounded to nearest 256 is 1536, not 2048).
  12.  
  13. Pages 32 and 38 (SENDEREXT and RECIPIENTEXT header field types) incorrectly
  14. stated the index record contains CRC-32s, when in fact the index contains
  15. CRC-16s of the agent names or extensions.
  16.  
  17. FORWARDTO header field types incorrectly stated they were for replies, rather
  18. than forwarding instructions.
  19.  
  20. Trigger header field types incorrectly stated they were "attachments" rather
  21. than triggers.
  22.  
  23. Bug fixed in smb_open() function in smblib.c: was allocating buffer via
  24. setvbuf for wrong file pointer when opening header file. Caused loss of 
  25. memory (2k) everytime smb_open() was called.
  26.  
  27. Bug fixed in smb_getmsghdr() function in smblib.c: msg->from_agent,to_agent,
  28. and replyto_agent were not initialized properly.
  29.  
  30. Added from_ext, to_ext, and replyto_ext fields to msg struct. Initialized
  31. with call to smb_getmsghdr() function. These are convenience pointers for
  32. the to, from, and replyto agent extensions (user numbers, usually).
  33.  
  34. Fixed a nasty bug in the smb_freemsgdat() function, causing odd values in the
  35. SDA file and cross-linked messages when fast allocation mode was not used for
  36. new messages.
  37.  
  38. smb_putmsghdr() function replaced by smb_putmsg() and it calls smb_putmsghdr()
  39. and smb_putmsgidx() - previously smb_putmsghdr() actually wrote the header
  40. and the index. So you must change any occurances of smb_putmsghdr() to
  41. smb_putmsg() if you intend to write to both the index and header records.
  42.  
  43. smb_open() now takes a "retry_time" parameter (number of seconds) to lock
  44. and read the message base header and verify the "id" and "version". Added
  45. new error codes: -1 indicates failure to lock message base header, -2 indicates
  46. id mismatch, and -3 indicates incompatible message base version.
  47.  
  48. rewind() and clearerr() calls added to library functions to eliminate the
  49. problem of "sticky" error flags when using fread() and fwrite(). Reordered
  50. the use of chsize() to force seeking (with fseek()) before using the file
  51. descriptor operation (chsize()) would would fail under some circumstances.
  52.  
  53. smb_getmsgidx() function now uses "fast" message number look-up algorythm.
  54.  
  55. Added smb_getlastidx() function to retrieve the last index in the message
  56. base.
  57.  
  58. Allocation strategy for hfield and dfield elements of the smbmsg_t structure
  59. were changed to require less memory. Rather than an array of pointers (pointer
  60. to a pointer) of type hfield_t or dfield_t, they are simply an array (pointer)
  61. of type hfield_t or dfield_t. The only change you need to make are any
  62. references to "smbmsg_t.hfield[x]->etc" to "smbmsg_t.hfield[x].etc".
  63.  
  64. Added several new error codes to smb_getmsghdr(). -7 indicates missing one
  65. of the three mandatory header fields (sender, recipient, or subject). -8
  66. indicates that total_dfields element of smbhdr_t is incorrect (extends beyond
  67. smbhdr_t.length). -9 indicates incompatible header version.
  68.  
  69. New error code to smb_addcrc(), -4 indicates error getting length of file.
  70.  
  71. smb_putmsghdr() returns -2 on failure write header, -3 on failure to write
  72. dfield, -4 on failure to write hfield (fixed), -5 on failure to write hfield
  73. (data), and -6 on failure to pad record with NULLs.
  74.  
  75. Bugs fixed in sample conversion source code and SMBUTIL: Overwriting first
  76. two bytes of next record when using self-packing storage, SBBSFIDO would
  77. crash on blank kludge lines, SEEN-BYs weren't converted properly by SBBSFIDO,
  78. and more.
  79.  
  80. *** IMPORTANT ***
  81. Index format changed, added message time field to idxrec_t for fast pointer
  82. manipulation by (import) date/time stamp. This is SMB format v1.10 and is
  83. not compatible with the v1.00 format. A conversion program (100TO110.EXE)
  84. is included with source code for converted any existing message bases.
  85.  
  86. CHKSMB, a utility for checking message bases for corruption, included with
  87. SMBLIB.
  88.  
  89. SMBUTIL and CHKSMB both accept wildcard arguments for processing multiple
  90. message bases.
  91.  
  92. idxrec_t.to and idxrec_t.from may contain USER NUMBER instead of CRC of user
  93. names. This implementation is currently specific to E-mail boxes on Synchronet
  94. BBS. E-mail from non-local users are stored with a "from" field of 0.
  95.  
  96. **********************
  97. 03/28/94 Release v1.10
  98. **********************
  99.  
  100. Forgot to include this file (oops).
  101.  
  102. ***********************
  103. 03/28/94 Release v1.10a
  104. ***********************
  105.